Tính tổng của 100 số tự nhiên đầu tiên , hoán đổi giá trị của hai biến x,y và tìm số lớn nhất trong dãy số A cho trước ?
Câu 3: Xác định bài toán (input, output):
3.1: Tính tổng của 100 số tự nhiên đầu tiên.
3.2: Đổi giá trị của 2 biến x và y
3.3: Cho 2 số thực a và b. Hãy cho biết kết quả so sánh 2 số đó dưới dạng “a>b”,
“a<b” hoặc “a=b”
3.4: Tìm số lớn nhất trong dãy A các số a
1
, a
2
,…,an
cho trước
3.1
Input: 100 số tự nhiên đầu tiên
Output: Tổng của chúng
3.2:
Input: hai số x,y
Output: Giá trị của hai số sau khi hoán đổi
Giải thích thuật toán: ví dụ
- Hoán đổi giá trị của 2 biến x và y
Tìm giá trị lớn nhất của dãy A các số a , a ,…..,a
-…
1: Hoán đổi giá trị hai biến x và y
Chúng ta sẽ gán biến trung gian tam cho x, xong rồi gán biến trung gian tam đó cho y; rồi sau đó gán y ngược lại cho x, và xuất kết quả ra-đó chính là x và y sau khi hoán đổi cho nhau.
2: Tìm giá trị lớn nhất của dãy A
Chúng ta sẽ gán biến ln cho a[1], sau đó sẽ quét qua các phần tử trong mảng xem thử có phần tử nào lớn hơn ln thì gán ln cho phần tử đó. Sau cùng xuất ln ra, ta được số lớn nhất cần tìm.
Lời giải :
B1: nhập 2 biến x,y
B2: Nếu x>y tráo đổi gía trị của x và y, chuyển đến bước 3 . Nếu y > x thì 2 số đã theo thứ tự có giá trị không giảm , chuyển đến bước 3
B3: In ra kết qủa x, y và kết thúc thuật toán
8. Biết BCNN(a,b) = 385 và BCNN(a, c) = 84. Tìm a,b,c.
9. Cho dãy số tự nhiên 1; 2; 3;..; 100. Tìm hai số khác nhau thuộc dãy số trên, sao cho:
a) BCNN của chúng đạt giá trị lớn nhất
b) ƯCLN của chúng đạt giá trị lớn nhấ
Viết CT nhập vào 2 số nguyên x và y rồi hoán đổi giá trị của 2 số x và y. In ra màn hình giá trị của 2 biến x và y trước và sau khi hoán đổi
Var x,y: integer;
Begin
Writeln('nhap 2 so nguyen x va y: '); Readln(x,y);
x:=x+y;
y:=x-x;
x:=y;
Writeln('so x sau hoan doi= ',x);
Writeln('so y sau hoan doi= ',y);
end.
Có 2 cách là nay vs cái gửi trc nhưng cách này ổn hơn nha
Var x,y,t: integer;
Begin
Writeln('nhap 2 so nguyen x va y: '); Readln(x,y);
x:=t;
y:=x;
y:=t;
Writeln('so x sau hoan doi= ',x);
Writeln('so y sau hoan doi= ',y);
end.
Ví dụ 6. Tìm số lớn nhất trong dãy A các số a1, a2, ..., an cho trước.
Ta sẽ dùng biến MAX để lưu số lớn nhất của dãy A. Việc xác định MAX có thể được thực hiện như sau: Đầu tiên gán giá trị a1 cho biến MAX. Tiếp theo, lần lượt so sánh các số a2, ..., an của dãy A với MAX. Nếu ai> MAX, ta gán ai cho MAX.
INPUT: Dãy A các số ai, a¿, ..., a„ (n >]).
OUTPUT: Giá trị MAX = max{ay, 4ạ,..., a„Ì.
Từ đó, ta có thuật toán sau:
Bước 1. MAX← a1; i←1.
Bước 2. Nếu ai> MAX, gán MAX← ai.
Bước 3. i←i+ 1.
Bước 4. Nếu i≤n, quay lại bước 2.
Bước 5. Thông báo giá trị MAX và kết thúc thuật toán.
Dưới đây minh hoạ thuật toán trên với trường hợp chọn thỏ nặng nhất trong bốn chú thỏ có trọng lượng tương ứng là 2, 1, 5, 3 ki-lô-gam.
Ví dụ 6. Tìm số lớn nhất trong dãy A các số a1, a2, ..., an cho trước.
Ta sẽ dùng biến MAX để lưu số lớn nhất của dãy A. Việc xác định MAX có thể được thực hiện như sau: Đầu tiên gán giá trị a1 cho biến MAX. Tiếp theo, lần lượt so sánh các số a2, ..., an của dãy A với MAX. Nếu ai> MAX, ta gán ai cho MAX.
INPUT: Dãy A các số a1, a2, ..., an (n >1).
OUTPUT: Giá trị MAX = max{a1, a2,..., an}.
Từ đó, ta có thuật toán sau:
Bước 1. MAX← a1; i←1.
Bước 2. Nếu ai> MAX, gán MAX← ai.
Bước 3. i←i+ 1.
Bước 4. Nếu i≤n, quay lại bước 2.
Bước 5. Thông báo giá trị MAX và kết thúc thuật toán.
Dưới đây minh hoạ thuật toán trên với trường hợp chọn thỏ nặng nhất trong bốn chú thỏ có trọng lượng tương ứng là 2, 1, 5, 3 ki-lô-gam.
Cho dãy số tự nhiên 1,2,3,4...50
a) Tìm hai số thuộc dãy trên sao cho UCLN của chúng đạt giá trị lớn nhất
b) Tìm hai số thuộc dãy trên sao cho BCLN của chúng đạt giá trị lớn nhất
cho 2 dãy số tự nhiên 1;2;3;...;50 . a) Tìm hai số thuộc dãy trên sao cho ƯCLN của chúng đạt giá trị lớn nhất .b)Tìm hai số thuộc dãy trên sao cho BCNN của chúng đạt giá trị lớn nhất
a. Vậy hai số có UCLN đạt giá trị lớn nhất là 50 , 25
b. Vậy hai số có BCNN đạt giá trị lớn nhất là 50 , 49